package sma.agents.channels;

import org.janusproject.kernel.channels.Channel;

import appli.utils.MoveEnum;

import sma.agents.listeners.MoveGoalListener;

/**
 * Channel pour les mouvements du goal.
 * C'est ici que nous indiquons au Goal la direction dans laquelle il doit se diriger
 * selon la frappe de l'utilisateur dans l'ihm
 * 
 * Depuis la version 0.3 nous prenons en compte le groupe du goal.
 * 
 * @author Etienne Sainton
 * @version 0.3
 * @since 0.2
 */
public interface GoalChannel extends Channel {
	/** Add listener on movements
	 * 
	 * @param listener quel est le lsitener de cet évènement ?
	 */
	public void addMoveGoalListener(MoveGoalListener listener);
	
	/** Remove listener on movements
	 * 
	 * @param listener on supprimer un écouteur
	 */
	public void removeMoveGoalListener(MoveGoalListener listener);
	
	/**
	 * @param _groupe le groupe de l'agent
	 * @param move : le mouvement à effectuer
	 */
	public void moveGoal(int _groupe, MoveEnum move);

}
